package org.example.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;


/**
* @Author: 鸢一折纸
* @Email: 3498881048@qq.com
* @Date: 2025/09/11 8:55
* @Description: ${Description}
**/
    
    
/**
    * 补卡申请表
    */
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "card_replacement_application")
public class CardReplacementApplication {
    @TableId(value = "replacement_id", type = IdType.INPUT)
    private Integer replacementId;

    @TableField(value = "user_id")
    private Integer userId;

    @TableField(value = "attendance_cycle")
    private String attendanceCycle;

    @TableField(value = "time_bucket")
    private Object timeBucket;

    @TableField(value = "application_date")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date applicationDate;

    @TableField(value = "retroactive_date")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date retroactiveDate;

    @TableField(value = "start_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date startTime;

    @TableField(value = "end_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date endTime;

    @TableField(value = "week")
    private Object week;

    @TableField(value = "reason")
    private String reason;

    @TableField(value = "`status`")
    private Object status;

    @TableField(value = "created_at")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createdAt;

    @TableField(value = "updated_at")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updatedAt;
}